The Personal Software Process in Undergraduate Software Engineering Education
نویسنده
چکیده
The Personal Software Process, PSP, was developed at Carnegie Mellon University’s Software Engineering Institute as a personal version of the Capability Maturity Model. The intention of the PSP is to educate individual software engineers in the processes they follow in completing a programming task with a view to improving the quality of future work. At each level of the PSP more and more useful personal statistics are kept. This starts with simple time keeping and error reporting statistics, and is later augmented by recording code size and self-improvement plans. At its deepest level, the process involves evolving a personalised version of the PSP. It is estimated to take 400 hours to complete the entire PSP course at the graduate level. Clearly, this would impose an extreme burden on an undergraduate curriculum if it was taught as a whole. Indeed the PSP is aimed at practising software engineers and in its more sophisticated forms would be beyond the scope of an undergraduate degree. This paper discusses how elements of the PSP can be introduced in small incremental steps into an undergraduate curriculum without compromising the existing course content, how this can improve the quality of the teaching and, in turn, how this can improve the quality of a student’s learning experience. 1 Software Engineering Education ñ Current Practices The Department of Computer Science at the University of Adelaide teaches a relatively ìstandardî computer science curriculum. Space within the curriculum is at a premium and there is virtually no scope in the curriculum for the addition of extra subjects unless existing course material is either compacted or removed. Within these severe constraints, we have developed a vertically integrated software engineering stream which is reasonably successful.
منابع مشابه
Implementing a Personal Software Process (PSP) Course: A Case Study
In order to remain competitive in software industry, software engineers need to continuously improve their proficiency. Personal Software Process (PSP) provides a strong concept which helps software engineers inspecting and improving themselves. Yet, when being applied on an undergraduate computer engineering course, several complex mathematical calculations from PSP official exercises could en...
متن کاملA student-enacted simulation approach to software engineering education
In some cases, real-world application of software engineering concepts does not effectively map with current undergraduate curriculums. Typically, a student’s first “hands-on” experience working on large-scale software development projects is via an intern position or his/her first full-time position. However, prior exposure to the corporate project environment would greatly improve a student’s...
متن کاملTeaching an Object-Oriented Software Development Lifecycle in Undergraduate Software Engineering Education
In some cases, real-world application of software engineering concepts does not effectively map with current undergraduate curriculums. Typically, a student’s first “handson” experience working on large-scale software development projects is via an intern position or their first full-time position. However, prior exposure to the corporate project environment would greatly improve a student’s pe...
متن کاملPSP Metrics in Support of Software Engineering Education
This paper describes a position about use of the Personal Software Process (PSP) metrics that was presented in the workshop: "Software Metrics: Views from Education, Research, and Training". The position presented here, describes how and why PSP metrics can be used in teaching and learning about software engineering.
متن کاملIncluding Practical Software Evolution in Software Engineering Education
Software engineering typically requires more effort in maintenance than in development time. As such, software engineering education needs to actively include software evolution. Teaching software evolution to undergraduate students usually includes the theoretical aspects, but doesn’t normally include the actual implementation. This paper describes the practice of teaching software evolution t...
متن کامل